/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package classe;

import java.awt.Image;
import java.awt.MenuItem;
import java.awt.MenuShortcut;
import java.awt.PopupMenu;
import java.awt.SystemTray;
import java.awt.Toolkit;
import java.awt.TrayIcon;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;

/**
 *
 * @author GEMADA
 */
public class TestTray {

    public TestTray() {
        createSystemTray();
    }

    public static void main(String[] args) {
        new TestTray();
    }

    private void createSystemTray() {

//criando a classe que gerencia a bandeja
        SystemTray tray = SystemTray.getSystemTray();
        if (!tray.isSupported()) {
            System.err.println("Não é possível rodar a aplicação");
            System.exit(0);
        }

//icone que será exibido na bandeja
        Image icon = Toolkit.getDefaultToolkit().createImage(getClass().getResource("C:\\icon\\teste.png").getPath());

        PopupMenu menu = new PopupMenu();

//item para sair
        MenuItem itemSair = new MenuItem("Sair");
        itemSair.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                System.exit(0);
            }
        });
        menu.add(itemSair);

//item para uma opção qualquer
        MenuItem itemOption = new MenuItem("Opção");
        itemOption.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                JOptionPane.showMessageDialog(null, "E ai gostou?");
            }
        });
        menu.add(itemOption);

        TrayIcon trayIcon = new TrayIcon(icon, "Tooltip", menu);

        try {
//adiciona na bandeja do sistema
            tray.add(trayIcon);

//exibindo um "tooltip" para o tray
            trayIcon.displayMessage("SystemTray Demo", "Você gostou do SystemTray nativo do java?", TrayIcon.MessageType.INFO);
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
}
